package pe.gob.sunarp.entidad;

import java.io.Serializable;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Set;


/**
 * The persistent class for the ASIENTO_GARANTIA database table.
 * 
 */
@Entity
@Table(name="ASIENTO_GARANTIA")
public class AsientoGarantia implements Serializable {
	private static final long serialVersionUID = 1L;
	private AsientoGarantiaPK id;
	private String agntSync;
	private BigDecimal anPlazo;
	private String descEjecucion;
	private BigDecimal diaPlazo;
	private BigDecimal mesPlazo;
	private BigDecimal montoImpo;
	private String pactEspec;
	private Date tsActoConst;
	private Date tsUltSync;
	private String vigencia;
	private TmTipoMoneda tmTipoMoneda;
	private Set<Bien> biens;
	private Set<IndPrtcAsientoGarantia> indPrtcAsientoGarantias;

    public AsientoGarantia() {
    }


	@EmbeddedId
	public AsientoGarantiaPK getId() {
		return this.id;
	}

	public void setId(AsientoGarantiaPK id) {
		this.id = id;
	}
	

	@Column(name="AGNT_SYNC", length=4)
	public String getAgntSync() {
		return this.agntSync;
	}

	public void setAgntSync(String agntSync) {
		this.agntSync = agntSync;
	}


	@Column(name="AN_PLAZO", precision=4)
	public BigDecimal getAnPlazo() {
		return this.anPlazo;
	}

	public void setAnPlazo(BigDecimal anPlazo) {
		this.anPlazo = anPlazo;
	}


	@Column(name="DESC_EJECUCION", length=200)
	public String getDescEjecucion() {
		return this.descEjecucion;
	}

	public void setDescEjecucion(String descEjecucion) {
		this.descEjecucion = descEjecucion;
	}


	@Column(name="DIA_PLAZO", precision=4)
	public BigDecimal getDiaPlazo() {
		return this.diaPlazo;
	}

	public void setDiaPlazo(BigDecimal diaPlazo) {
		this.diaPlazo = diaPlazo;
	}


	@Column(name="MES_PLAZO", precision=4)
	public BigDecimal getMesPlazo() {
		return this.mesPlazo;
	}

	public void setMesPlazo(BigDecimal mesPlazo) {
		this.mesPlazo = mesPlazo;
	}


	@Column(name="MONTO_IMPO", precision=12, scale=2)
	public BigDecimal getMontoImpo() {
		return this.montoImpo;
	}

	public void setMontoImpo(BigDecimal montoImpo) {
		this.montoImpo = montoImpo;
	}


	@Column(name="PACT_ESPEC", length=2000)
	public String getPactEspec() {
		return this.pactEspec;
	}

	public void setPactEspec(String pactEspec) {
		this.pactEspec = pactEspec;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="TS_ACTO_CONST")
	public Date getTsActoConst() {
		return this.tsActoConst;
	}

	public void setTsActoConst(Date tsActoConst) {
		this.tsActoConst = tsActoConst;
	}


    @Temporal( TemporalType.DATE)
	@Column(name="TS_ULT_SYNC")
	public Date getTsUltSync() {
		return this.tsUltSync;
	}

	public void setTsUltSync(Date tsUltSync) {
		this.tsUltSync = tsUltSync;
	}


	@Column(length=1)
	public String getVigencia() {
		return this.vigencia;
	}

	public void setVigencia(String vigencia) {
		this.vigencia = vigencia;
	}


	//bi-directional many-to-one association to TmTipoMoneda
    @ManyToOne
	@JoinColumn(name="COD_TIPO_MONEDA")
	public TmTipoMoneda getTmTipoMoneda() {
		return this.tmTipoMoneda;
	}

	public void setTmTipoMoneda(TmTipoMoneda tmTipoMoneda) {
		this.tmTipoMoneda = tmTipoMoneda;
	}
	

	//bi-directional many-to-one association to Bien
	@OneToMany(mappedBy="asientoGarantia")
	public Set<Bien> getBiens() {
		return this.biens;
	}

	public void setBiens(Set<Bien> biens) {
		this.biens = biens;
	}
	

	//bi-directional many-to-one association to IndPrtcAsientoGarantia
	@OneToMany(mappedBy="asientoGarantia")
	public Set<IndPrtcAsientoGarantia> getIndPrtcAsientoGarantias() {
		return this.indPrtcAsientoGarantias;
	}

	public void setIndPrtcAsientoGarantias(Set<IndPrtcAsientoGarantia> indPrtcAsientoGarantias) {
		this.indPrtcAsientoGarantias = indPrtcAsientoGarantias;
	}
	
}